#include <iostream>
using namespace std;
class Animal
{
public:
    // 虚函数写 =0 ，表示该class 是抽象类型
    // 1、抽象类不能实例化
    // 2、继承了抽象类的子类必须实现抽象方法
    // 3、可以定义指向抽象类的指针
    // 4、派生类必须把所有纯虚函数全部覆写，否则派生类自己还是抽象类
    virtual void runing() = 0;
};
class People : public Animal
{
public:
    int height;
    People(int height) : height{height} {}
    void runing() override
    {
        cout << "People is runing" << endl;
    }
};

int main()
{
    Animal *q;
    People p1(18);
    q = &p1;
    q->runing();
    return 0;
}
